<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>组合url</title>
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-base.css" />
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-medium.css" />

 </head>
 <body class="docs"><div class="navbar navbar-fixed-top">
  <div class="navbar-inner clearfix">
    <ul class="nav" style="width: 100%">
      <li style="float: left;"><a href="class.yaf-route-rewrite.html">« Yaf_Route_Rewrite</a></li>
      <li style="float: right;"><a href="yaf-route-rewrite.construct.html">Yaf_Route_Rewrite::__construct »</a></li>
    </ul>
  </div>
</div>
<div id="breadcrumbs" class="clearfix">
  <ul class="breadcrumbs-container">
    <li><a href="index.html">PHP Manual</a></li>
    <li><a href="class.yaf-route-rewrite.html">Yaf_Route_Rewrite</a></li>
    <li>组合url</li>
  </ul>
</div>
<div id="layout">
  <div id="layout-content"><div id="yaf-route-rewrite.assemble" class="refentry">
    <div class="refnamediv">
        <h1 class="refname">Yaf_Route_Rewrite::assemble</h1>
        <p class="verinfo">(Yaf &gt;=2.3.0)</p><p class="refpurpose"><span class="refname">Yaf_Route_Rewrite::assemble</span> &mdash; <span class="dc-title">组合url</span></p>

    </div>

    <div class="refsect1 description" id="refsect1-yaf-route-rewrite.assemble-description">
        <h3 class="title">说明</h3>
        <div class="methodsynopsis dc-description">
            <span class="modifier">public</span> <span class="methodname"><strong>Yaf_Route_Rewrite::assemble</strong></span>(<span class="methodparam"><span class="type">array</span> <code class="parameter">$info</code></span>, <span class="methodparam"><span class="type">array</span> <code class="parameter">$query</code><span class="initializer"> = ?</span></span>): <span class="type">string</span></div>

        <p class="para rdfs-comment">
            根据指定参数和自定义参数将rewrite这个route组合成一个url
        </p>
    </div>


    <div class="refsect1 parameters" id="refsect1-yaf-route-rewrite.assemble-parameters">
        <h3 class="title">参数</h3>
        <dl>
            
                <dt>
<code class="parameter">info</code></dt>

                <dd>

                    <p class="para">
                        需要传入一个数组，数组中每个key必须和初始化rewrite route时$match参数中的带冒号的参数名一致
                    </p>
                </dd>

            
            
                <dt>
<code class="parameter">query</code></dt>

                <dd>

                    <p class="para">
                        用户自定义的query string，将根据此路由规则拼接在url中
                    </p>
                </dd>

            
        </dl>

    </div>


    <div class="refsect1 examples" id="refsect1-yaf-route-rewrite.assemble-examples">
        <h3 class="title">范例</h3>
        <div class="example" id="example-3926">
            <p><strong>示例 #1 <span class="function"><strong>Yaf_Route_Rewrite::assemble()</strong></span>example</strong></p>
            <div class="example-contents">
                <div class="phpcode"><code><span style="color: #000000">
router&nbsp;=&nbsp;new&nbsp;Yaf_Router();<br /><br />$route&nbsp;&nbsp;=&nbsp;new&nbsp;Yaf_Route_Rewrite(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"/product/:name/:id/*",<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'controller'&nbsp;=&gt;&nbsp;"product",<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array()<br />);<br /><br />$router-&gt;addRoute("rewrite",&nbsp;$route);<br /><br />var_dump($router-&gt;getRoute('rewrite')-&gt;assemble(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;':name'&nbsp;=&gt;&nbsp;'foo',<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;':id'&nbsp;=&gt;&nbsp;'bar',<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;':tmpkey1'&nbsp;=&gt;&nbsp;'tmpval1'<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'tkey1'&nbsp;=&gt;&nbsp;'tval1',<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'tkey2'&nbsp;=&gt;&nbsp;'tval2'<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />);</span>
</code></div>
            </div>

            <div class="example-contents"><p>以上例程的输出类似于：</p></div>
            <div class="example-contents screen">
                <div class="cdata"><pre>
string(57) &quot;/product/foo/bar/tmpkey1/tmpval1/?tkey1=tval1&amp;tkey2=tval2&quot;
</pre></div>
            </div>
        </div>
    </div>


    <div class="refsect1 returnvalues" id="refsect1-yaf-route-rewrite.assemble-returnvalues">
        <h3 class="title">返回值</h3>
        <p class="para">

        </p>
    </div>


</div></div></div></body></html>